﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using CSM.Models;
using CSM.Controllers;

namespace CSM.Views.Management
{
    public partial class UserRightSetup : CSMPageBase
    {
        CustomDataContext db = new CustomDataContext();
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {

                int pageIndx = Convert.ToInt32(CurrentPage.Value);
                int Totals = TotalPageAmount("");
                int pages = (Totals % 10) == 0 ? (Totals / 10) : (Totals / 10 + 1);
                Label_Total.Text = "共" + pages.ToString();
                Label_CurrenPageAndTo.Text = "页，当前第1页，转到";
                BindMyData(0,"");
            }
        }
        #region 绑定数据及翻页
        private void BindMyData(int PageIndex, string starts)
        {

            int skipAccount = PageIndex * 10;
            var MyQuery = (from a in db.TCsm_JS_User where a.UserName.StartsWith(starts) select a).Skip(skipAccount).Take(10);
            GridView_Users.DataSource = MyQuery;
            GridView_Users.DataBind();

        }

        //查询出当前记录信息的总条数。
        private int TotalPageAmount(string starts)
        {
            int MyQuery = 0;
            MyQuery = (from a in db.TCsm_JS_User where a.UserName.StartsWith(starts) select a).Count();
            return MyQuery;
        }


        //点击按钮，执行查询
        protected void MyClick(object sender, EventArgs e)
        {
            int pageIndx = Convert.ToInt32(CurrentPage.Value);
            string starts = txtUser.Text;
            int Totals = TotalPageAmount(starts);



            int pages = (Totals % 10) == 0 ? (Totals / 10) : (Totals / 10 + 1);

            Label_Total.Text = "共" + pages.ToString();

            if (typeof(Button).IsInstanceOfType(sender))
            {
                string arg = ((Button)sender).CommandArgument.ToString().ToLower();

                switch (arg)
                {
                    case "first":

                        pageIndx = 0;

                        break;
                    case "gotopage":
                        if (TextBox_PageIndex.Text == "")
                        { pageIndx = 0; }
                        else
                        {
                            int xx = Convert.ToInt32(TextBox_PageIndex.Text);
                            if (xx > pages)
                            { pageIndx = pages - 1; }

                            else
                            { pageIndx = xx - 1; }


                        }
                        break;
                }

            }
            else if (typeof(LinkButton).IsInstanceOfType(sender))
            {

                string arg = ((LinkButton)sender).CommandArgument.ToString().ToLower();

                switch (arg)
                {
                    case "prev":
                        if (pageIndx > 0)
                        {
                            pageIndx = pageIndx - 1;
                        }
                        break;
                    case "next":
                        if (pageIndx < pages - 1)
                        {
                            pageIndx = pageIndx + 1;
                        }
                        break;
                    case "last":
                        pageIndx = pages - 1;
                        break;
                    case "first":
                        pageIndx = 0;
                        break;
                }

            }

            CurrentPage.Value = pageIndx.ToString();  //对保存页码状态信息的隐藏字段进行赋值。保存当前页码。
            Label_CurrenPageAndTo.Text = "页，当前第" + (pageIndx + 1).ToString() + " 页，转到";

            BindMyData(pageIndx, starts);

        }

        #endregion

        protected void gv_OnRowBind(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.DataItemIndex !=-1)
            {

                //HtmlInputButton bt = (HtmlInputButton)e.Row.Cells[2].FindControl("Button_ShowDetailRight");
                //string value =e.Row.Cells[0].Text;
                //string repl = "UserRightSetupSelectRight.aspx?userid=replacement&height=400&width=800&inlineId=myOnPageContent";
                //string newone = repl.Replace("replacement", value);
                //bt.Attributes.Add("alt", newone);
            }
        }
        protected void Button_ShowDetailRight_Command(object sender, CommandEventArgs e)
        {
            string myUserId = e.CommandArgument.ToString();
            ScriptManager.RegisterStartupScript((System.Web.UI.Page)HttpContext.Current.CurrentHandler, typeof(System.Web.UI.Page), "addtext", "<script>ShowThickBox('UserRightSetupSelectRight.aspx','" + myUserId + "','编辑权限');</script>", false);
        }
        protected void Button_ShowRolePage_Command(object sender, CommandEventArgs e)
        {
            string myUserId = e.CommandArgument.ToString();
            ScriptManager.RegisterStartupScript((System.Web.UI.Page)HttpContext.Current.CurrentHandler, typeof(System.Web.UI.Page), "addtext", "<script>ShowThickBox('UserRightSetupSelectRole.aspx','" + myUserId + "','编辑角色');</script>", false);
        }
        protected void Button_ShowShopPage_Command(object sender, CommandEventArgs e)
        {
            string myUserId = e.CommandArgument.ToString();
            ScriptManager.RegisterStartupScript((System.Web.UI.Page)HttpContext.Current.CurrentHandler, typeof(System.Web.UI.Page), "addtext", "<script>ShowThickBox('UserRightSetupSelectShop.aspx','" + myUserId + "','编辑店铺');</script>", false);
        }
        protected void Button_ShowLevelPage_Command(object sender, CommandEventArgs e)
        {
            string myUserId = e.CommandArgument.ToString();
            ScriptManager.RegisterStartupScript((System.Web.UI.Page)HttpContext.Current.CurrentHandler, typeof(System.Web.UI.Page), "addtext", "<script>ShowThickBox('UserRightSetupSelectLevel.aspx','" + myUserId + "','编辑等级');</script>", false);
        }
        protected void Button_Browse_Click(object sender, EventArgs e)
        {
            string user = txtUser.Text;
            BindMyData(0, user);
        }

    }
}
